package com.bigdata.service.domain.bo;

import com.bigdata.common.core.validate.AddGroup;
import com.bigdata.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.bigdata.common.core.domain.BaseEntity;

/**
 * 积分规则配置业务对象 point_rules
 *
 * @author ruoyi
 * @date 2025-07-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class PointRulesBo extends BaseEntity {

    /**
     * 规则ID
     */
    @NotBlank(message = "规则ID不能为空", groups = { EditGroup.class })
    private String ruleId;

    /**
     * 规则名称
     */
    @NotBlank(message = "规则名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ruleName;

    /**
     * 触发动作类型
     */
    @NotBlank(message = "触发动作类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String actionType;

    /**
     * 积分变动值
     */
    @NotNull(message = "积分变动值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long pointValues;

    /**
     * 规则详细描述
     */
    @NotBlank(message = "规则详细描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String description;

    /**
     * 启用状态
     */
    @NotNull(message = "启用状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer status;

    /**
     * 单个资源积分上限
     */
    @NotNull(message = "单个资源积分上限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long capValue;


}
